package com.zmn.plat.services.interfaces.sms;

import java.util.List;

import com.zmn.common.dto.StatusDTO;
import com.zmn.plat.model.entity.sms.SmsTemplate;
import com.zmn.plat.model.entity.sms.SmsTemplateQuery;

/**
 * @author nowind
 * @since 17/10/30 11:37
 */
public interface SmsTemplateService {

    SmsTemplate findByKey(Integer templateId);

    Integer findKeyForMax();

    List<SmsTemplate> listPageByQuery(SmsTemplateQuery query);

    List<SmsTemplate> listByQuery(SmsTemplateQuery query);

    Integer countByQuery(SmsTemplateQuery query);

    Integer updateByKey(SmsTemplate template);

    Integer updateStatus(Integer templateId, Integer status, String updater);

    Integer updateStatus(SmsTemplate template);

    Integer updateStatusBatch(List<Integer> templateIds, Integer status, String updater);

    Integer updateStatusBatch(StatusDTO dto);

    Integer updateSort(Integer templateId, Integer sort);

    Integer updateSort(SmsTemplate template);

    Integer insert(SmsTemplate template);

    Integer deleteByKey(Integer templateId);

}
